#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int SLDataType;
typedef struct SListNode
{
	SLDataType data;
	struct SListNode* next;
}SListNode;

SListNode* BuySListNode(SLDataType x);

void SListPrint(SListNode* plist);
void SListPushBack(SListNode** pplist, SLDataType x);
void SListPushFont(SListNode** pplist, SLDataType x);
void SListPopBack(SListNode** pplist);
void SListPopFont(SListNode** pplist);

SListNode* SListFind(SListNode* plist, SLDataType x);

void SListInsertAfter(SListNode** pplist, SListNode* pos, SLDataType x);
void SListEraseAfter(SListNode** pplist, SListNode* pos);

void SListDestory(SListNode* plist);